var chart;
function backSelect() {
	stationPanel.show();
	backBtn.hide();
	$("#charts").hide();
	searchPanel.hide();
	searchPanel1.hide();
}
/**
 * chart Tab的第一步
 * 
 * @param num
 */
function openWindu(num) {
	stationPanel.hide();
	backBtn.show();
	$("#charts").show();
	searchPanel.show();
	stationNum = num;
	// 默认打开温度
	chartType = 1;
}
// 选择温度查询类型
function selSearch() {
	searchPanel1.show();
	var type = searchType.getValue();
	if (type == '0') {
		searchPanel1_1.show();
		searchPanel1_2.hide();
	} else {
		searchPanel1_2.show();
		searchPanel1_1.hide();
	}
}
/**
 * 选择气压查询
 */
function selQYSearch() {
	searchQYPanel1.show();
	var type = searchQYType.getValue();
	if (type == '0') {

		searchQYPanel1_1.show();
		searchQYPanel1_2.hide();
	} else {
		searchQYPanel1_2.show();
		searchQYPanel1_1.hide();
	}
}
/**
 * 比较时间 return = 天数
 * 
 * @param sDate1
 * @param sDate2
 * @returns
 */
function DateDiff(sDate1, sDate2) {
	var aDate, oDate1, oDate2, iDays;
	aDate = sDate1.split("-");
	oDate1 = new Date(aDate[1] + '-' + aDate[2] + '-' + aDate[0]);
	aDate = sDate2.split("-");
	oDate2 = new Date(aDate[1] + '-' + aDate[2] + '-' + aDate[0]);
	iDays = parseInt(Math.abs(oDate1 - oDate2) / 1000 / 60 / 60 / 24);
	return iDays;
}

/**
 * ********************************气温START*********************************************
 */
function searchWendu() {
	var type = searchType.getValue(), result = null;
	if (type == '0') {
		// 如果按天 stationNum
		result = chartRemote.wendu({
			'stationNum' : '3766177',
			'type' : type,
			'date' : date.getValue()
		});

	} else {
		// 按时间段
		result = chartRemote.wendu({
			'stationNum' : '3766177',
			'type' : type,
			'date1' : date1_1.getValue(),
			'date2' : date1_2.getValue()
		});
	}
	genWenduChart(result);
}

function genWenduChart(data) {
	chart = new Highcharts.Chart({
		chart : {
			renderTo : 'wendu',
			type : 'line',
			marginRight : 130,
			marginBottom : 25
		},
		title : {
			text : '温度分析',
			x : -20
		// center
		},
		subtitle : {
			text : '数据来源:鹤壁气象局',
			x : -20
		},
		xAxis : {
			categories : data.categories
		},
		yAxis : {
			title : {
				text : '温度 (°C)'
			},
			plotLines : [ {
				value : 0,
				width : 1,
				color : '#808080'
			} ]
		},
		tooltip : {
			formatter : function() {
				return '<b>' + this.series.name + '</b><br/>' + this.x + ': '
						+ this.y + '°C';
			}
		},
		plotOptions : {
			spline : {
				marker : {
					radius : 4,
					lineColor : '#666666',
					lineWidth : 1
				}
			}
		},
		legend : {
			layout : 'vertical',
			align : 'right',
			verticalAlign : 'top',
			x : -10,
			y : 100,
			borderWidth : 0
		},
		series : data.series
	});
}
/**
 * ********************************气温END*********************************************
 */
/**
 * ********************************降雨END*********************************************
 */

function selectJY() {
	jyChartType = selectJYType.getValue();

}
function selJYSearch() {

	var type = searchJYType.getValue();
	$('#jyDiv').show();
	if (type == '0') {
		$('#jy1').show();
		$('#jy2').hide();
	} else {
		$('#jy2').show();
		$('#jy1').hide();
	}
}
function searchjiangyu() {
	var data = null;
	var type = searchJYType.getValue();
	var startDate, endDate;
	if (type == '1') {
		// 获取起始日期
		startDate = $('#jyDate1').val();
		// 获取结束日期
		endDate = $('#jyDate2').val();
		if (startDate == '') {
			shy.error('请填写起始日期!');
			return;
		}
		if (endDate == '') {
			shy.error('请填写结束日期!');
			return;
		}
		// 转换为日期格式
		startDate = startDate.replace(/-/g, "/");
		endDate = endDate.replace(/-/g, "/");
		// 如果起始日期大于结束日期
		if (Date.parse(startDate) - Date.parse(endDate) > 0) {
			shy.error('起始日期要在结束日期之前!');
			// 返回false
			return false;
		} else if (Date.parse(startDate) - Date.parse(endDate) == 0) {
			shy.error('两个日期相等,请重新选择！');
			return;
		}
		// 按时间段
		data = chartRemote.jiangyu({
			'stationNum' : '3766177',
			'type' : type,
			'chartType' : selectJYType.getValue(),
			'date1' : startDate,
			'date2' : endDate
		});
	} else {
		if ($('#jyDate0').val() == '') {
			shy.error('请填写查询日期!');
			return;
		}
		// stationNum
		data = chartRemote.jiangyu({
			'stationNum' : '3766177',
			'type' : type,
			'chartType' : selectJYType.getValue(),
			'date' : $('#jyDate0').val()
		});
	}

	genJiangyuChart(data);
}

function genJiangyuChart(data) {
	var key;
	var type = searchJYType.getValue();
	if (type == '0') {
		key = '号';
	} else {
		key = '时'
	}
	chart = new Highcharts.Chart({
		chart : {
			renderTo : 'jiangyu',
			type : 'area'
		},
		title : {
			text : '降雨量分析'
		},
		subtitle : {
			text : '数据来源:鹤壁气象局'
		},
		xAxis : {
			categories : data.categories
		},
		yAxis : {
			title : {
				text : '降雨量'
			},
			labels : {
				formatter : function() {
					return this.value + 'm';
				}
			}
		},
		tooltip : {
			formatter : function() {

				return this.x + key + '，降雨量为'
						+ Highcharts.numberFormat(this.y, 0) + ' ('
						+ this.series.name + ")";
			}
		},
		plotOptions : {
			area : {
				pointStart : 0,
				marker : {
					enabled : false,
					symbol : 'circle',
					radius : 2,
					states : {
						hover : {
							enabled : true
						}
					}
				}
			}
		},
		series : data.series
	});
}
/**
 * ********************************降雨**END*********************************************
 */
/**
 * ********************************风速**Start*********************************************
 */
function searchWindSubmit() {
	var data;
	genWindChart(data);
}
function genWindChart(data) {
	chart = new Highcharts.Chart(
			{
				chart : {
					renderTo : 'wind',
					type : 'spline'
				},
				title : {
					text : '风速分析'
				},
				subtitle : {
					text : '数据来源：鹤壁气象局'
				},
				xAxis : {
					type : 'datetime'
				},
				yAxis : {
					title : {
						text : 'Wind speed (m/s)'
					},
					min : 0,
					minorGridLineWidth : 0,
					gridLineWidth : 0,
					alternateGridColor : null,
					plotBands : [ { // Light air
						from : 0.3,
						to : 1.5,
						color : 'rgba(68, 170, 213, 0.1)',
						label : {
							text : 'Light air',
							style : {
								color : '#606060'
							}
						}
					}, { // Light breeze
						from : 1.5,
						to : 3.3,
						color : 'rgba(0, 0, 0, 0)',
						label : {
							text : 'Light breeze',
							style : {
								color : '#606060'
							}
						}
					}, { // Gentle breeze
						from : 3.3,
						to : 5.5,
						color : 'rgba(68, 170, 213, 0.1)',
						label : {
							text : 'Gentle breeze',
							style : {
								color : '#606060'
							}
						}
					}, { // Moderate breeze
						from : 5.5,
						to : 8,
						color : 'rgba(0, 0, 0, 0)',
						label : {
							text : 'Moderate breeze',
							style : {
								color : '#606060'
							}
						}
					}, { // Fresh breeze
						from : 8,
						to : 11,
						color : 'rgba(68, 170, 213, 0.1)',
						label : {
							text : 'Fresh breeze',
							style : {
								color : '#606060'
							}
						}
					}, { // Strong breeze
						from : 11,
						to : 14,
						color : 'rgba(0, 0, 0, 0)',
						label : {
							text : 'Strong breeze',
							style : {
								color : '#606060'
							}
						}
					}, { // High wind
						from : 14,
						to : 15,
						color : 'rgba(68, 170, 213, 0.1)',
						label : {
							text : 'High wind',
							style : {
								color : '#606060'
							}
						}
					} ]
				},
				tooltip : {
					formatter : function() {
						return ''
								+ Highcharts.dateFormat('%e. %b %Y, %H:00',
										this.x) + ': ' + this.y + ' m/s';
					}
				},
				plotOptions : {
					spline : {
						lineWidth : 4,
						states : {
							hover : {
								lineWidth : 5
							}
						},
						marker : {
							enabled : false,
							states : {
								hover : {
									enabled : true,
									symbol : 'circle',
									radius : 5,
									lineWidth : 1
								}
							}
						},
						pointInterval : 3600000, // one hour
						pointStart : Date.UTC(2009, 9, 6, 0, 0, 0)
					}
				},
				series : [
						{
							name : 'Hestavollane',
							data : [ 4.3, 5.1, 4.3, 5.2, 5.4, 4.7, 3.5, 4.1,
									5.6, 7.4, 6.9, 7.1, 7.9, 7.9, 7.5, 6.7,
									7.7, 7.7, 7.4, 7.0, 7.1, 5.8, 5.9, 7.4,
									8.2, 8.5, 9.4, 8.1, 10.9, 10.4, 10.9, 12.4,
									12.1, 9.5, 7.5, 7.1, 7.5, 8.1, 6.8, 3.4,
									2.1, 1.9, 2.8, 2.9, 1.3, 4.4, 4.2, 3.0, 3.0 ]

						},
						{
							name : 'Voll',
							data : [ 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0,
									0.1, 0.0, 0.3, 0.0, 0.0, 0.4, 0.0, 0.1,
									0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0,
									0.0, 0.6, 1.2, 1.7, 0.7, 2.9, 4.1, 2.6,
									3.7, 3.9, 1.7, 2.3, 3.0, 3.3, 4.8, 5.0,
									4.8, 5.0, 3.2, 2.0, 0.9, 0.4, 0.3, 0.5, 0.4 ]
						} ],
				navigation : {
					menuItemStyle : {
						fontSize : '10px'
					}
				}
			});
}

/**
 * ********************************风速**END*********************************************
 */
/**
 * ********************************气压**Start*********************************************
 */
function searchQYSubmit() {
	var type = searchQYType.getValue(), data = null;
	if (type== '1') {
		// 获取起始日期
		var startDate = dateQY1.getValue();
		// 获取结束日期
		var endDate = dateQY2.getValue();
		if (startDate == '') {
			shy.error('请填写起始日期!');
			return;
		}
		if (endDate == '') {
			shy.error('请填写结束日期!');
			return;
		}
		
		// 转换为日期格式
		startDate = startDate.replace(/-/g, "/");

		
		endDate = endDate.replace(/-/g, "/");
		// 如果起始日期大于结束日期
		if (Date.parse(startDate) - Date.parse(endDate) > 0) {
			shy.error('起始日期要在结束日期之前!');
			// 返回false
			return false;
		} else if (Date.parse(startDate) - Date.parse(endDate) == 0) {
			// 如果起始日期等于结束日期,则转为按天查询
			searchQYPanel1_1.show();
			searchQYPanel1_2.hide();
			searchQYType.setValue('0');
			dateQY.setValue(startDate);
			dateQY1.setValue('');
			dateQY2.setValue('');
		}
		// 限制时间不能大于一个月
		if (DateDiff(startDate, endDate) > 31) {
			shy.error('时间范围不能大于一个月!');
			return;
		}
	} else {
		if (dateQY.getValue() == '') {
			shy.error('请填写查询日期!');
			return;
		}
	}
	
	if (type == '0') {
		// 如果按天 stationNum
		data = chartRemote.qiya({
			'stationNum' : '3766177',
			'type' : type,
			'date' : dateQY.getValue()
		});

	} else {
		// 按时间段
		data = chartRemote.qiya({
			'stationNum' : '3766177',
			'type' : type,
			'date1' : dateQY1.getValue(),
			'date2' : dateQY2.getValue()
		});
	}

	genQYChart(data);
}
function genQYChart(data) {
	var type = searchQYType.getValue();
	if (type == '0') {
		key = '时';
	} else {
		key = '号';
	}
	chart = new Highcharts.Chart(
			{
				chart : {
					renderTo : 'qiya',
					type : 'spline'
				},
				title : {
					text : '气压分析'
				},
				subtitle : {
					text : '数据来源：鹤壁气象局'
				},
				xAxis : {
					categories : data.categories
				},
				yAxis : {
					title : {
						text : '气压指数 (bar)'
					},
					min : 0,
					minorGridLineWidth : 0,
					gridLineWidth : 0,
					alternateGridColor : null,
					plotBands : [ { // Light air
						from : 0,
						to : 200,
						color : 'rgba(68, 170, 213, 0.1)',
						label : {
							text : '低气压',
							style : {
								color : '#606060'
							}
						}
					}, { // Light breeze
						from : 200,
						to : 400,
						color : 'rgba(0, 0, 0, 0)',
						label : {
							text : '高气压',
							style : {
								color : '#606060'
							}
						}
					}]
				},
				tooltip : {
					formatter : function() {
						//return '' + Highcharts.dateFormat('%e. %b %Y, %H:00',this.x) + ': ' + this.y + ' bar';
						return this.x +key+','+this.series.name + ': ' + this.y + ' bar';
					}
				},
				plotOptions : {
					spline : {
						lineWidth : 4,
						states : {
							hover : {
								lineWidth : 5
							}
						},
						marker : {
							enabled : false,
							states : {
								hover : {
									enabled : true,
									symbol : 'circle',
									radius : 5,
									lineWidth : 1
								}
							}
						}
						
					}
				},
				series : data.series,
				navigation : {
					menuItemStyle : {
						fontSize : '10px'
					}
				}
			});
}
/**
 * ********************************气压**END*********************************************
 */
